import { createRouter, createWebHistory } from 'vue-router';
import { useUserStore } from '@/store/user';
import routes from './routes';
// 路由配置

const router = createRouter({
  history: createWebHistory(),
  routes,
  // 平滑滚动
  scrollBehavior() {
    return { top: 0 };
  },
});

// 路由守卫
router.beforeEach((to, from, next) => {
  // 设置页面标题
  document.title = to.meta.title
    ? `${to.meta.title} - 后台管理系统`
    : '后台管理系统';

  const userStore = useUserStore();
  const isLoggedIn = userStore.isLoggedIn;

  // 需要登录但未登录，重定向到登录页
  if (to.meta.requiresAuth && !isLoggedIn) {
    next({ name: 'Login', query: { redirect: to.fullPath } });
  } else {
    // 已登录状态下访问登录页，重定向到首页
    if (to.name === 'Login' && isLoggedIn) {
      next({ name: 'Dashboard' });
    } else {
      next();
    }
  }
});

export default router;
